package com._520it.crm.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

//链接对象
public class Connect {
    //构造函数
    public Connect() {
    }

    //初始化需要的变量（登陆数据库需要的信息）
    String user = "root";
    String pass = "admin";
    //数据源
    //String url = "jdbc:mysql://localhost:3306/users?useUnicode=true&characterEncoding=UTF-8";
    String url = "jdbc:mysql:///crm201710";
    //数据库的驱动
    String driver = "com.mysql.jdbc.Driver";
    //sql语句变量
    private String sqlstr;
    //链接对象
    Connection connection = null;
    //语句对象（所谓语句对象其实就是用来执行sql命令的）
    java.sql.Statement statement = null;
    //结果集（对于有记录返回的sql操作，你得把它存在一个记录集里面）
    ResultSet result = null;

    //这个函数是用来执行有返回结果的sql操作
    public int excute_query() throws ClassNotFoundException, SQLException{
        //加载驱动
        Class.forName(driver);
        //创建链接
        connection = DriverManager.getConnection(url, user, pass);
        //创建语句对象
        statement = connection.createStatement();
        //执行sql语句
        result =statement.executeQuery(getSqlstr());
        //游标指向最后一条记录
        result.last();
        //获取最后一条记录的行数
        int totalRows = result.getRow();
        //返回给函数调用处，用于判断
        return totalRows;
    }

    //这个函数用来执行没有返回结果集的sql操作
    public void excute_update() throws ClassNotFoundException,SQLException {
        Class.forName(driver);
        connection = DriverManager.getConnection(url, user, pass);
        statement = connection.createStatement();
        statement.executeUpdate(getSqlstr());

    }

    //sqlstr属性的封装函数
    public String getSqlstr() {
        return sqlstr;
    }

    public void setSqlstr(String sqlstr) {
        this.sqlstr = sqlstr;
    }
}
